35 research outputs found
Minimal term rewriting systems
Formally well-founded compilation techniques for Term Rewriting Systems (TRSs) are presented. TRSs are compiled into Minimal Term Rewriting Systems (MTRSs), a subclass of TRSs in which all rules have an extremely simple form. A notion of simulation of (rewrite) relations is presented, under which an MTRSs can be said to simulate a TRS. The MTRS rules can be directly interpreted as instructions for an extremely simple Abstract Rewriting Machine (ARM). Favourable practical results have already been obtained with an earlier version of ARM
ARM : abstract rewriting machine
Term rewriting is frequently used as implementation technique for algebraic specifications. In this paper we present the abstract term rewriting machine (ARM), which has an extremely compact instruction set and imposes no restrictions on the implemented TRSs. Apart from standard conditional term rewriting, associative lists are supported. ARM code is translated to (ANSI) C; the resulting execution speeds are good (on a sun4, an average of 80000 rewriting steps per second and a maximum of 416000 r/s were measured). Several benchmarks are shown, and related work is discussed in depth
Lazy rewriting on eager machinery
We define Lazy Term Rewriting Systems and show that they can be realized by local adaptations of an eager implementation of conventional term rewriting systems. The overhead of lazy evaluation is only incurred when lazy evaluation is actually performed. Our method is modelled by a transformation of term rewriting systems, which concisely expresses the intricate interaction between pattern matching and lazy evaluation. The method easily extends to term graph rewriting
Simulating TRSs by minimal TRSs : a simple, efficient, and correct compilation technique
A simple, efficient, and correct compilation technique for left-linear Term Rewriting Systems (TRSs) is presented. TRSs are compiled into Minimal Term Rewriting Systems (MTRSs), a subclass of TRSs, presented in [KW95d]. In MTRSs, the rules have such a simple form that they can be seen as instructions for an easily implementable abstract machine, the Abstract Rewriting Machine (ARM). In the correctness proof, it is shown that the MTRS resulting from compilation of a TRS simulates neither too much (soundness) nor too little (completeness), nor does it introduce unwarranted infinite sequences (termination conservation). The compiler and its correctness proof are largely independent of the reduction strategy
A model for I/O in equational languages with don't care non-determinism
Existing models for I/O in side-effect free languages focus on functional languages, which are usually based on a largely deterministic reduction strategy, allowing for a strict sequentialization of I/O operations. In concurrent logic programming languages a model is used which allows for don't care non-determinism; the sequentialization of I/O is extensional rather than intensional. We apply this model to equational languages, which are closely related to functional languages, but exhibit don't care non-determinism. The semantics are formulated as constrained narrowing, a relation that contains the rewrite relation, and is contained in the narrowing relation. We present constrained narrowing and some of its properties; a constructive method to transform conventional term rewriting systems to constrained narrowing systems; and a discussion on requirements for an implementation
Epic 1.0 (unconditional) : an equational programming language
We present EPIC, an equational programming language: its abstract syntax, static and operational semantics, and one of many possible concrete grammars of unconditional EPIC
An extensible language for the generation of parallel data manipulation andcontrol packages
The design and implementation of the language fSDL (full Structure Definition Language) is discussed. In fSDL, complex user-defined data types such as lists, tables, trees, and graphs can be constructed from a tiny set of primitives. Beyond mere structure definitions (also offered by previously existing tools) high-level functionality on these data types can be specified. In the COMPARE (ESPRIT) project, the C code generated from an fSDL specification will be used by compiler-components running in parallel on a common data pool. fSDL is first translated into a sublanguage, flat fSDL, from which the actual C code is produced. Flat fSDL is a convenient interface for cooperation with other compiler generation tools. There is a formal relation between the input fSDL and the resulting flat form
Within ARM's reach : compilation of left-linear rewrite systems via minimalrewrite systems
A new compilation technique for left-linear term rewriting systems is presented, where rewrite rules are transformed into so-called minimal rewrite rules. These minimal rules have such a simple form that they can be viewed as instructions for an abstract rewriting machine (ARM)
Slippery paints:Eco-friendly coatings that cause ants to slip
Many insects are considered to be pests and can be serious threats to buildings. Insecticides represent an effective way to control pest insects but are harmful to the environment. As an eco-friendlier alternative, we have formulated waterborne, organic paints which provided a slippery physical barrier for leafcutter ants (Atta cephalotes) on vertical surfaces. Different paints were produced by varying the Pigment Volume Concentration (PVC) and amount of TiO2 and CaCO3 particles, and characterised in terms of contact angles, surface roughness and scrub resistance. The paints' slipperiness for A. cephalotes ants was evaluated in climbing tests on vertical paint panels (by recording the percentage of fallen ants). Two main factors reduced the insects' attachment to vertical paint surfaces: (1) the PVC: in paints above a critical PVC, more loose particles detach from the coating and thereby reduce insect attachment; and (2) the type, dimensions and shape of solid particles: CaCO3 particles detach more easily from the paint than TiO2, probably due to their larger size and platelet shape. Paints formulated at PVC 70 and containing 20 wt% CaCO3 showed the best performance in terms of slipperiness, as well as providing good scrub resistance
Temperature-Responsive Polyelectrolyte Complexes for Bio-Inspired Underwater Adhesives
Adhesive proteins of marine organisms contain significant amounts of hydrophobic amino acids. Therefore, inter- and intramolecular hydrophobic interactions are expected to play an important role in both adhesion and cohesion. Here, we mimic the hydrophobicity of adhesive proteins by using temperature-responsive polyelectrolyte complexes (TERPOCs) with a high poly(N-isopropylacrylamide) (PNIPAM) content. Upon mixing aqueous solutions of PNIPAM-b-poly(acrylic acid)-b-PNIPAM and poly(2-(dimethylamino) ethyl methacrylate) (PDMAEMA), complexation between the oppositely charged polyelectrolytes occurs. At low temperatures, complex coacervate core micelles (C3Ms) with a PNIPAM corona are formed, and upon a temperature increase, the solution turns into a hydrogel by the formation of a network of hydrophobic PNIPAM domains. Consequently, an abrupt increase in viscosity is observed upon heating which facilitates injectability of the adhesive. The gelation temperature, Tgel, and (adhesive) strength of the TERPOC can be adjusted by altering the salt and polymer concentration, which changes the balance between the electrostatic and hydrophobic interactions. Despite the importance of hydrophobic groups in strong underwater adhesives, we conclude that TERPOCs with a high PNIPAM content (70 wt%) are unstable due to water release. Consequently, there is a limited amount of hydrophobic groups that can be inserted in this type of systems. Nevertheless, TERPOCs show promising and tunable properties for application as injectable underwater adhesives, for example in biomedical applications